home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / share / cvs / contrib / mfpipe < prev    next >
Text File  |  2005-10-16  |  3KB  |  104 lines

  1. #! /usr/bin/perl -T
  2. # -*-Perl-*-
  3.  
  4. ###############################################################################
  5. ###############################################################################
  6. ###############################################################################
  7. #
  8. # THIS SCRIPT IS PROBABLY BROKEN.  REMOVING THE -T SWITCH ON THE #! LINE ABOVE
  9. # WOULD FIX IT, BUT THIS IS INSECURE.  WE RECOMMEND FIXING THE ERRORS WHICH THE
  10. # -T SWITCH WILL CAUSE PERL TO REPORT BEFORE RUNNING THIS SCRIPT FROM A CVS
  11. # SERVER TRIGGER.  PLEASE SEND PATCHES CONTAINING THE CHANGES YOU FIND
  12. # NECESSARY TO RUN THIS SCRIPT WITH THE TAINT-CHECKING ENABLED BACK TO THE
  13. # <bug-cvs@gnu.org> MAILING LIST.
  14. #
  15. # For more on general Perl security and taint-checking, please try running the
  16. # `perldoc perlsec' command.
  17. #
  18. ###############################################################################
  19. ###############################################################################
  20. ###############################################################################
  21.  
  22. # From: clyne@niwot.scd.ucar.EDU (John Clyne)
  23. # Date: Fri, 28 Feb 92 09:54:21 MST
  24. # BTW, i wrote a perl script that is similar to 'nfpipe' except that in
  25. # addition to logging to a file it provides a command line option for mailing
  26. # change notices to a group of users. Obviously you probably wouldn't want
  27. # to mail every change. But there may be certain directories that are commonly
  28. # accessed by a group of users who would benefit from an email notice. 
  29. # Especially if they regularly beat on the same directory. Anyway if you 
  30. # think anyone would be interested here it is. 
  31. #
  32. #    File:        mfpipe
  33. #
  34. #    Author:        John Clyne
  35. #            National Center for Atmospheric Research
  36. #            PO 3000, Boulder, Colorado
  37. #
  38. #    Date:        Wed Feb 26 18:34:53 MST 1992
  39. #
  40. #    Description:    Tee standard input to mail a list of users and to
  41. #            a file. Used by CVS logging.
  42. #
  43. #    Usage:        mfpipe [-f file] [user@host...]
  44. #
  45. #    Environment:    CVSROOT    
  46. #                Path to CVS root.
  47. #
  48. #    Files:
  49. #
  50. #
  51. #    Options:    -f file    
  52. #                Capture output to 'file'
  53. #            
  54.  
  55. $header = "Log Message:\n";
  56.  
  57. $mailcmd = "| mail -s  'CVS update notice'";
  58. $whoami = `whoami`;
  59. chop $whoami;
  60. $date = `date`;
  61. chop $date;
  62.  
  63. $cvsroot = $ENV{'CVSROOT'};
  64.  
  65. while (@ARGV) {
  66.         $arg = shift @ARGV;
  67.  
  68.     if ($arg eq '-f') {
  69.                 $file = shift @ARGV;
  70.     }
  71.     else {
  72.         $users = "$users $arg";
  73.     }
  74. }
  75.  
  76. if ($users) {
  77.     $mailcmd = "$mailcmd $users";
  78.     open(MAIL, $mailcmd) || die "Execing $mail: $!\n";
  79. }
  80.  
  81. if ($file) {
  82.     $logfile = "$cvsroot/LOG/$file";
  83.     open(FILE, ">> $logfile") || die "Opening $logfile: $!\n";
  84. }
  85.  
  86. print FILE "$whoami $date--------BEGIN LOG ENTRY-------------\n" if ($logfile);
  87.  
  88. while (<>) {
  89.     print FILE $log if ($log && $logfile);
  90.  
  91.     print FILE $_ if ($logfile);
  92.     print MAIL $_ if ($users);
  93.  
  94.     $log = "log: " if ($_ eq $header);
  95. }
  96.  
  97. close FILE;
  98. die "Write failed" if $?;
  99. close MAIL;
  100. die "Mail failed" if $?;
  101.  
  102. exit 0;
  103.